OpenGL - E/S

Entrees/Sorties avec glut

Si vous utilisez une structure de programme opengl axée autour de glut (voir algo/structure d'un programme opengl), il vous suffit d'utiliser la fonction glutKeyboardFunc(); et glutSpecialFunc();. C'est deux fonctions gèrent toutes les touches du clavier, et glutMouseFunc(); gère la souris. Je vous donne la liste des touches et les états des boutons de la souris. Il ne vous restera plus qu'à mettre ces fonctions dans le main();, elles recoivent en parametre un pointeur de fonction (Ce sont les fonctions que vous utiliserez pour définir les actions).

liste des boutons
glutKeyboardFunc();
Chaque touche a un code ASCII, il suffit d'utiliser ce code.
glutSpecialFunc();
GLUT_KEY_F1
GLUT_KEY_F2
GLUT_KEY_F3
GLUT_KEY_F4
GLUT_KEY_F5
GLUT_KEY_F6
GLUT_KEY_F7
GLUT_KEY_F8
GLUT_KEY_F9
GLUT_KEY_F10
GLUT_KEY_F11
GLUT_KEY_F12
GLUT_KEY_LEFT
GLUT_KEY_RIGHT
GLUT_KEY_UP
GLUT_KEY_DOWN
GLUT_KEY_PAGE_UP
GLUT_KEY_PAGE_DOWN
GLUT_KEY_HOME
GLUT_KEY_END
GLUT_KEY_INSERT
glutMouseFunc();
GLUT_LEFT_BUTTON
GLUT_MIDDLE_BUTTON
GLUT_RIGHT_BUTTON
etats
GLUT_DOWN
GLUT_UP

Entrees/Sorties avec windows

Windows gère toutes les touches clavier, special et souris à travers le message WM_KEYDOWN. Pareil pour l'utiliser voir algo/structure d'un programme opengl. Voilà juste la liste des messages:

liste des messages
windows
Les char ASCII Majuscule pour les touches normales (pas de distinction min maj).
VK_LBUTTON (bouton gauche de la souris)
VK_RBUTTON (bouton droit de la souris)
VK_MBUTTON (bouton milieu de la souris)
VK_CANCEL
VK_BACK
VK_TAB
VK_CLEAR
VK_RETURN
VK_SHIFT
VK_CONTROL
VK_MENU (Alt)
VK_PAUSE
VK_CAPITAL (Caps Lock)
VK_ESCAPE
VK_SPACE
VK_PRIOR (Page Up)
VK_NEXT (Page Down)
VK_END
VK_HOME
VK_LEFT
VK_UP
VK_RIGHT
VK_DOWN
VK_SELECT (???)
VK_EXECUTE (???)
VK_SNAPSHOT (Print Screen)
VK_INSERT
VK_DELETE
VK_HELP
VK_0, ... , VK_9
'A' , ... , 'Z'
VK_LWIN (touche 'Windows' gauche - pour les claviers windows)
VK_RWIN (touche 'Windows' droite - pour les claviers windows)
VK_APPS (touche 'Apps' - pour les claviers windows)
VK_NUMPAD0, ... , VK_NUMPAD9
VK_MULTIPLY (*)
VK_ADD (+)
VK_SUBTRACT (-)
VK_DECIMAL (.)
VK_DIVIDE (/)
VK_F1, ... , VK_F24
VK_NUMLOCK
VK_SCROLL (Scroll Lock)
 
Retour
contact: ultrafil [AT] fr.st